const CompressionPlugin = require('compression-webpack-plugin');

module.exports = {
	productionSourceMap:false,
	publicPath:'./',
	chainWebpack: config => {
		// 移除 preload(预载) 插件
		config.plugins.delete('preload')
		// 移除 prefetch(预取) 插件
		config.plugins.delete('prefetch')
	},
	devServer: {
		proxy: {
			'/api': {
				target: 'https://music-eight-omega.vercel.app', //目标接口域名
				changeOrigin: true,             //是否跨域
				secure: true,                   //是否https接口
				pathRewrite: {                  //路径重置
					'^/api': ''
				}
			}
		}
	},
	configureWebpack: config => {
		// 开发环境不配置
		// 生产环境才去配置
		return {
			plugins: [
				new CompressionPlugin({
					filename: '[path].gz[query]', //  使得多个.gz文件合并成一个文件，这种方式压缩后的文件少，建议使用
					algorithm: 'gzip', // 官方默认压缩算法也是gzip
					test: /\.js$|\.css$|\.html$|\.ttf$|\.eot$|\.woff$/, // 使用正则给匹配到的文件做压缩，这里是给html、css、js以及字体（.ttf和.woff和.eot）做压缩
					threshold: 10240, //以字节为单位压缩超过此大小的文件，使用默认值10240吧
					minRatio: 0.8, // 最小压缩比率，官方默认0.8
					//是否删除原有静态资源文件，即只保留压缩后的.gz文件，建议这个置为false，还保留源文件。以防：
					deleteOriginalAssets: false
				})
			]
		}
	}
}

